package com.fatgirl.time
{
	import flash.utils.Dictionary;

	/**
	 * 定时器工厂
	 * 可以创建不同的定时器集合 
	 * 尽量相同的类型的定时器对象使用相同的 集合进行管理
	 * @author Administrator
	 * 
	 */
	public class TimerFactory
	{
		private static var s_TimerFactory:TimerFactory;
		private var timerList:Dictionary;
		public function TimerFactory()
		{
			timerList = new Dictionary(false);
		}
		public static function getInstance():TimerFactory
		{
			if(!s_TimerFactory)
			{
				s_TimerFactory = new TimerFactory;
			}
			return s_TimerFactory;
		}
		/**
		 * 获取timer对象管理器 
		 * 返回一个定时器对象管理器接口
		 * @param _name 默认名字为 default，可以填入其他名称来获取新的集合
		 * @return 
		 * 
		 */
		public function getTimerVisitor(_name:String = "default"):ITimerVisitor
		{
			if(timerList[_name] == null)
			{
				timerList[_name] = new TimerVisitor; 
			}
			return timerList[_name] as ITimerVisitor;
		}
	}
}